#!/usr/bin/env python from matplotlib import pyplot as plt def genereer_grafiek(x: list, y: list, scatter: bool) -> None: """ Genereert een grafiek van opgegeven x- en y-waarden Parameters ---------- x: list De x-waarden y: list De y-waarden scatter: bool Een scatterplot wordt getoond indien True, anders een gewone plot """ fig = plt.figure() ax = fig.add_axes([0, 0, 1, 1]) ax.spines["left"].set_position('zero') ax.spines["bottom"].set_position('zero') ax.spines["right"].set_color('none') ax.spines["top"].set_color('none') if scatter: plt.scatter(x, y) else: plt.plot(x, y) plt.xlabel("x") plt.ylabel("y", rotation=0) plt.show() def maal_alfa(g: int, h: str) -> int: """ Vermenigvuldigt een element g uit GF(2^n) met alpha, waarbij alpha een nulpunt is van de voortbrengende monische veelterm h Parameters ---------- g: int Een gegeven element uit het galoisveld h: str De coƫfficiƫnten van de monische veelterm als bitstring Returns ------- int Het resultaat van de vermenigvuldiging """ s = g << 1 n = len(h) - 1 if s >= 2 ** n: s ^= 2 ** n s ^= int(h[1:], 2) return s